using LDNS.SDK.Commands;
using LDNS.SDK.Commands.Models;

namespace LDNS.Commands
{
    /// <summary>
    /// 命令处理器接口
    /// 定义处理特定命令的方法
    /// 作者：huobing
    /// </summary>
    public interface ICommandHandler
    {
        /// <summary>
        /// 执行命令
        /// </summary>
        /// <param name="args">命令参数数组</param>
        /// <returns>命令执行结果</returns>
        BaseCommandResult Execute(string[] args, CommandPermission commandPermission);
        
        /// <summary>
        /// 获取命令名称
        /// </summary>
        string CommandName { get; }
    }
}